﻿
namespace Accounting.Web.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Objects.DataClasses;
    using System.Linq;
    using System.ServiceModel.DomainServices.Hosting;
    using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies GoodMetadata as the class
    // that carries additional metadata for the Good class.
    [MetadataTypeAttribute(typeof(Good.GoodMetadata))]
    public partial class Good
    {

        // This class allows you to attach custom attributes to properties
        // of the Good class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class GoodMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private GoodMetadata()
            {
            }

            public string BillNumber { get; set; }

            public int Count { get; set; }

            public string Description { get; set; }

            public int Id { get; set; }

            public DateTime ProvideDate { get; set; }

            public string Provider { get; set; }

            public double PurchasePrice { get; set; }

            public string ResponsableUser { get; set; }

            public double SalePrice { get; set; }
            
            public Warehouse Warehouse { get; set; }

            public int Warehouse_Id { get; set; }

            public string WarehouseDeliveryDate { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies WarehouseMetadata as the class
    // that carries additional metadata for the Warehouse class.
    [MetadataTypeAttribute(typeof(Warehouse.WarehouseMetadata))]
    public partial class Warehouse
    {

        // This class allows you to attach custom attributes to properties
        // of the Warehouse class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class WarehouseMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private WarehouseMetadata()
            {
            }

            public EntityCollection<Good> Goods { get; set; }

            public int Id { get; set; }

            public string Name { get; set; }
        }
    }
}
